package com.zykj.zen.factory;

import com.zykj.zen.AbstractHumanFactory;
import com.zykj.zen.Human;

/**
 * @author zhoulj(周利军) [1217102780@qq.com]
 * @Module ID:   <(模块)类编号，可以引用系统设计中的类编号>
 * @Comments: <对此类的描述，可以引用系统设计中的描述>
 * @JDK version used:      <JDK1.8> 00
 * @since 2019/1/25-17:00
 */
public class HumanFactory extends AbstractHumanFactory {

    //TODO  定义一个创建对象的接口，让子类决定实例化哪个类，使得类的实例化延迟到子类
    @Override
    public <T extends Human> T createHuman(Class<T> tClass) {
        Human human = null;
        try {
            human = (T) Class.forName(tClass.getName()).newInstance();
        } catch (Exception e) {

        }

        return (T)human;
    }
}
